package com.spzx.product.service;

import com.spzx.product.domain.SkuStock;
import com.baomidou.mybatisplus.extension.service.IService;
import com.spzx.product.api.domain.vo.SkuLockVo;

import java.util.List;

/**
 * <p>
 * 商品sku库存表 服务类
 * </p>
 *
 * @author Haoran Sun
 * @since 2024-07-15
 */
public interface SkuStockService extends IService<SkuStock> {
    /**
     * 检查与锁定库存
     * @param orderNo 订单号
     * @param skuLockVoList 订单中的商品sku和数量
     * @return 库存锁定的信息
     */
    String checkAndLock(String orderNo, List<SkuLockVo> skuLockVoList);

    /**
     * 解锁库存
     * @param orderNo 订单号
     */
    void unLock(String orderNo);

    /**
     * 扣减库存
     * @param orderNo 订单号
     */
    void minus(String orderNo);
}
